home *** CD-ROM | disk | FTP | other *** search
/ BMUG Revelations / BMUG Revelations.toast / Programming / Programming Languages / Harvest C / MPW Int & Lib / Interfaces / SysEqu.h < prev    next >
Text File  |  1991-04-17  |  30KB  |  455 lines

  1. /************************************************************
  2.  
  3. Created: Sunday, January 6, 1991 at 10:07 PM
  4.     SysEqu.h
  5.     C Interface to the Macintosh Libraries
  6.  
  7.  
  8.         Copyright Apple Computer, Inc.    1985-90
  9.         All rights reserved
  10.  
  11. ************************************************************/
  12.  
  13.  
  14. #ifndef __SYSEQU__
  15. #define __SYSEQU__
  16.  
  17.  
  18. enum {
  19.  
  20.     PCDeskPat = 0x20B,              /*[GLOBAL VAR]  desktop pat, top bit only! others are in use*/
  21.     HiKeyLast = 0x216,              /*[GLOBAL VAR]  Same as KbdVars*/
  22.     KbdLast = 0x218,                /*[GLOBAL VAR]  Same as KbdVars+2*/
  23.     ExpandMem = 0x2B6,              /*[GLOBAL VAR]  pointer to expanded memory block*/
  24.     SCSIBase = 0x0C00,              /*[GLOBAL VAR]  (long) base address for SCSI chip read*/
  25.     SCSIDMA = 0x0C04,               /*[GLOBAL VAR]  (long) base address for SCSI DMA*/
  26.     SCSIHsk = 0x0C08,               /*[GLOBAL VAR]  (long) base address for SCSI handshake*/
  27.     SCSIGlobals = 0x0C0C,           /*[GLOBAL VAR]  (long) ptr for SCSI mgr locals*/
  28.     RGBBlack = 0x0C10,              /*[GLOBAL VAR]  (6 bytes) the black field for color*/
  29.     RGBWhite = 0x0C16,              /*[GLOBAL VAR]  (6 bytes) the white field for color*/
  30.     RowBits = 0x0C20,               /*[GLOBAL VAR]  (word) screen horizontal pixels*/
  31.     ColLines = 0x0C22,              /*[GLOBAL VAR]  (word) screen vertical pixels*/
  32.     ScreenBytes = 0x0C24,           /*[GLOBAL VAR]  (long) total screen bytes*/
  33.     NMIFlag = 0x0C2C,               /*[GLOBAL VAR]  (byte) flag for NMI debounce*/
  34.     VidType = 0x0C2D,               /*[GLOBAL VAR]  (byte) video board type ID*/
  35.     VidMode = 0x0C2E,               /*[GLOBAL VAR]  (byte) video mode (4=4bit color)*/
  36.     SCSIPoll = 0x0C2F,              /*[GLOBAL VAR]  (byte) poll for device zero only once.*/
  37.     SEVarBase = 0x0C30,             /*[GLOBAL VAR] */
  38.     MMUFlags = 0x0CB0,              /*[GLOBAL VAR]  (byte) cleared to zero (reserved for future use)*/
  39.     MMUType = 0x0CB1                /*[GLOBAL VAR]  (byte) kind of MMU present*/
  40. };
  41. enum {
  42.     MMU32bit = 0x0CB2,              /*[GLOBAL VAR]  (byte) boolean reflecting current machine MMU mode*/
  43.     MMUFluff = 0x0CB3,              /*[GLOBAL VAR]  (byte) fluff byte forced by reducing MMUMode to MMU32bit.*/
  44.     MMUTbl = 0x0CB4,                /*[GLOBAL VAR]  (long) pointer to MMU Mapping table*/
  45.     MMUTblSize = 0x0CB8,            /*[GLOBAL VAR]  (long) size of the MMU mapping table*/
  46.     SInfoPtr = 0x0CBC,              /*[GLOBAL VAR]  (long) pointer to Slot manager information*/
  47.     ASCBase = 0x0CC0,               /*[GLOBAL VAR]  (long) pointer to Sound Chip*/
  48.     SMGlobals = 0x0CC4,             /* (long) pointer to Sound Manager Globals*/
  49.     TheGDevice = 0x0CC8,            /*[GLOBAL VAR]  (long) the current graphics device*/
  50.     CQDGlobals = 0x0CCC,            /* (long) quickDraw global extensions*/
  51.     ADBBase = 0x0CF8,               /*[GLOBAL VAR]  (long) pointer to Front Desk Buss Variables*/
  52.     WarmStart = 0x0CFC,             /*[GLOBAL VAR]  (long) flag to indicate it is a warm start*/
  53.     TimeDBRA = 0x0D00,              /*[GLOBAL VAR]  (word) number of iterations of DBRA per millisecond*/
  54.     TimeSCCDB = 0x0D02,             /*[GLOBAL VAR]  (word) number of iter's of SCC access & DBRA.*/
  55.     SlotQDT = 0x0D04,               /*[GLOBAL VAR]  ptr to slot queue table*/
  56.     SlotPrTbl = 0x0D08,             /*[GLOBAL VAR]  ptr to slot priority table*/
  57.     SlotVBLQ = 0x0D0C,              /*[GLOBAL VAR]  ptr to slot VBL queue table*/
  58.     ScrnVBLPtr = 0x0D10,            /*[GLOBAL VAR]  save for ptr to main screen VBL queue*/
  59.     SlotTICKS = 0x0D14,             /*[GLOBAL VAR]  ptr to slot tickcount table*/
  60.     TableSeed = 0x0D20,             /*[GLOBAL VAR]  (long) seed value for color table ID's*/
  61.     SRsrcTblPtr = 0x0D24            /*[GLOBAL VAR]  (long) pointer to slot resource table.*/
  62. };
  63. enum {
  64.     JVBLTask = 0x0D28,              /*[GLOBAL VAR]  vector to slot VBL task interrupt handler*/
  65.     WMgrCPort = 0x0D2C,             /*[GLOBAL VAR]  window manager color port */
  66.     VertRRate = 0x0D30,             /*[GLOBAL VAR]  (word) Vertical refresh rate for start manager. */
  67.     ChunkyDepth = 0x0D60,           /*[GLOBAL VAR]  depth of the pixels*/
  68.     CrsrPtr = 0x0D62,               /*[GLOBAL VAR]  pointer to cursor save area*/
  69.     PortList = 0x0D66,              /*[GLOBAL VAR]  list of grafports*/
  70.     MickeyBytes = 0x0D6A,           /*[GLOBAL VAR]  long pointer to cursor stuff*/
  71.     QDErrLM = 0x0D6E,               /*[GLOBAL VAR] QDErr has name conflict w/ type. QuickDraw error code [word]*/
  72.     VIA2DT = 0x0D70,                /*[GLOBAL VAR]  32 bytes for VIA2 dispatch table for NuMac*/
  73.     SInitFlags = 0x0D90,            /*[GLOBAL VAR]  StartInit.a flags [word]*/
  74.     DTQueue = 0x0D92,               /*[GLOBAL VAR]  (10 bytes) deferred task queue header*/
  75.     DTQFlags = 0x0D92,              /*[GLOBAL VAR]  flag word for DTQueue*/
  76.     DTskQHdr = 0x0D94,              /*[GLOBAL VAR]  ptr to head of queue*/
  77.     DTskQTail = 0x0D98,             /*[GLOBAL VAR]  ptr to tail of queue*/
  78.     JDTInstall = 0x0D9C,            /*[GLOBAL VAR]  (long) ptr to deferred task install routine*/
  79.     HiliteRGB = 0x0DA0,             /*[GLOBAL VAR]  6 bytes: rgb of hilite color*/
  80.     TimeSCSIDB = 0x0DA6,            /*[GLOBAL VAR]  (word) number of iter's of SCSI access & DBRA*/
  81.     DSCtrAdj = 0x0DA8,              /*[GLOBAL VAR]  (long) Center adjust for DS rect.*/
  82.     IconTLAddr = 0x0DAC,            /*[GLOBAL VAR]  (long) pointer to where start icons are to be put.*/
  83.     VideoInfoOK = 0x0DB0            /*[GLOBAL VAR]  (long) Signals to CritErr that the Video card is ok*/
  84. };
  85. enum {
  86.     EndSRTPtr = 0x0DB4,             /*[GLOBAL VAR]  (long) Pointer to the end of the Slot Resource Table (Not the SRT buffer).*/
  87.     SDMJmpTblPtr = 0x0DB8,          /*[GLOBAL VAR]  (long) Pointer to the SDM jump table*/
  88.     JSwapMMU = 0x0DBC,              /*[GLOBAL VAR]  (long) jump vector to SwapMMU routine*/
  89.     SdmBusErr = 0x0DC0,             /*[GLOBAL VAR]  (long) Pointer to the SDM busErr handler*/
  90.     LastTxGDevice = 0x0DC4,         /*[GLOBAL VAR]  (long) copy of TheGDevice set up for fast text measure*/
  91.     NewCrsrJTbl = 0x88C,            /*[GLOBAL VAR]  location of new crsr jump vectors*/
  92.     JAllocCrsr = 0x88C,             /*[GLOBAL VAR]  (long) vector to routine that allocates cursor*/
  93.     JSetCCrsr = 0x890,              /*[GLOBAL VAR]  (long) vector to routine that sets color cursor*/
  94.     JOpcodeProc = 0x894,            /*[GLOBAL VAR]  (long) vector to process new picture opcodes*/
  95.     CrsrBase = 0x898,               /*[GLOBAL VAR]  (long) scrnBase for cursor*/
  96.     CrsrDevice = 0x89C,             /*[GLOBAL VAR]  (long) current cursor device*/
  97.     SrcDevice = 0x8A0,              /*[GLOBAL VAR]  (LONG) Src device for Stretchbits*/
  98.     MainDevice = 0x8A4,             /*[GLOBAL VAR]  (long) the main screen device*/
  99.     DeviceList = 0x8A8,             /*[GLOBAL VAR]  (long) list of display devices*/
  100.     CrsrRow = 0x8AC,                /*[GLOBAL VAR]  (word) rowbytes for current cursor screen*/
  101.     QDColors = 0x8B0,               /*[GLOBAL VAR]  (long) handle to default colors*/
  102.     HiliteMode = 0x938,             /*[GLOBAL VAR]  used for color highlighting*/
  103.     BusErrVct = 0x08,               /*[GLOBAL VAR]  bus error vector*/
  104.     RestProc = 0xA8C,               /*[GLOBAL VAR]  Resume procedure f InitDialogs [pointer]*/
  105.     ROM85 = 0x28E                   /*[GLOBAL VAR]  (word) actually high bit - 0 for ROM vers $75 (sic) and later*/
  106. };
  107. enum {
  108.     ROMMapHndl = 0xB06,             /*[GLOBAL VAR]  (long) handle of ROM resource map*/
  109.     ScrVRes = 0x102,                /*[GLOBAL VAR] Pixels per inch vertically (word)
  110.    screen vertical dots/inch [word]*/
  111.     ScrHRes = 0x104,                /*[GLOBAL VAR] Pixels per inch horizontally (word)
  112.    screen horizontal dots/inch [word]*/
  113.     ScrnBase = 0x824,               /*[GLOBAL VAR] Address of main screen buffer
  114.    Screen Base [pointer]*/
  115.     ScreenRow = 0x106,              /*[GLOBAL VAR]  rowBytes of screen [word]*/
  116.     MBTicks = 0x16E,                /*[GLOBAL VAR]  tick count @ last mouse button [long]*/
  117.     JKybdTask = 0x21A,              /*[GLOBAL VAR]  keyboard VBL task hook [pointer]*/
  118.     KeyLast = 0x184,                /*[GLOBAL VAR]  ASCII for last valid keycode [word]*/
  119.     KeyTime = 0x186,                /*[GLOBAL VAR]  tickcount when KEYLAST was rec'd [long]*/
  120.     KeyRepTime = 0x18A,             /*[GLOBAL VAR]  tickcount when key was last repeated [long]*/
  121.     SPConfig = 0x1FB,               /*[GLOBAL VAR] Use types for serial ports (byte)
  122.    config bits: 4-7 A, 0-3 B (see use type below)*/
  123.     SPPortA = 0x1FC,                /*[GLOBAL VAR] Modem port configuration (word)
  124.    SCC port A configuration [word]*/
  125.     SPPortB = 0x1FE,                /*[GLOBAL VAR] Printer port configuration (word)
  126.    SCC port B configuration [word]*/
  127.     SCCRd = 0x1D8,                  /*[GLOBAL VAR] SCC read base address
  128.    SCC base read address [pointer]*/
  129.     SCCWr = 0x1DC,                  /*[GLOBAL VAR] SCC write base address
  130.    SCC base write address [pointer]*/
  131.     DoubleTime = 0x2F0,             /*[GLOBAL VAR] Double-click interval in ticks (long)
  132.    double click ticks [long]*/
  133.     CaretTime = 0x2F4,              /*[GLOBAL VAR] Caret-blink interval in ticks (long)
  134.    caret blink ticks [long]*/
  135.     KeyThresh = 0x18E,              /*[GLOBAL VAR] Auto-key threshold (word)
  136.    threshold for key repeat [word]*/
  137.     KeyRepThresh = 0x190,           /*[GLOBAL VAR] Auto-key rate (word)
  138.    key repeat speed [word]*/
  139.     SdVolume = 0x260                /*[GLOBAL VAR] Current speaker volume (byte:  low-order three bits only)
  140.    Global volume(sound) control [byte]*/
  141. };
  142. enum {
  143.     Ticks = 0x16A,                  /*[GLOBAL VAR] Current number of ticks since system startup (long)
  144.    Tick count, time since boot [unsigned long]*/
  145.     TimeLM = 0x20C,                 /*[GLOBAL VAR] Time has name conflict w/ type. Clock time (extrapolated) [long]*/
  146.     MonkeyLives = 0x100,            /*[GLOBAL VAR]  monkey lives if >= 0 [word]*/
  147.     SEvtEnb = 0x15C,                /*[GLOBAL VAR] 0 if SystemEvent should return FALSE (byte)
  148.    enable SysEvent calls from GNE [byte]*/
  149.     JournalFlag = 0x8DE,            /*[GLOBAL VAR] Journaling mode (word)
  150.    journaling state [word]*/
  151.     JournalRef = 0x8E8,             /*[GLOBAL VAR] Reference number of journaling device driver (word)
  152.    Journalling driver's refnum [word]*/
  153.     BufPtr = 0x10C,                 /*[GLOBAL VAR] Address of end of jump table
  154.    top of application memory [pointer]*/
  155.     StkLowPt = 0x110,               /*[GLOBAL VAR]  Lowest stack as measured in VBL task [pointer]*/
  156.     TheZone = 0x118,                /*[GLOBAL VAR] Address of current heap zone
  157.    current heap zone [pointer]*/
  158.     ApplLimit = 0x130,              /*[GLOBAL VAR] Application heap limit
  159.    application limit [pointer]*/
  160.     SysZone = 0x2A6,                /*[GLOBAL VAR] Address of system heap zone
  161.    system heap zone [pointer]*/
  162.     ApplZone = 0x2AA,               /*[GLOBAL VAR] Address of application heap zone
  163.    application heap zone [pointer]*/
  164.     HeapEnd = 0x114,                /*[GLOBAL VAR] Address of end of application heap zone
  165.    end of heap [pointer]*/
  166.     HiHeapMark = 0xBAE,             /*[GLOBAL VAR]  (long) highest address used by a zone below sp<01Nov85 JTC>*/
  167.     MemErr = 0x220,                 /*[GLOBAL VAR]  last memory manager error [word]*/
  168.     UTableBase = 0x11C,             /*[GLOBAL VAR] Base address of unit table
  169.    unit I/O table [pointer]*/
  170.     UnitNtryCnt = 0x1D2,            /*[GLOBAL VAR]  count of entries in unit table [word]*/
  171.     JFetch = 0x8F4,                 /*[GLOBAL VAR] Jump vector for Fetch function
  172.    fetch a byte routine for drivers [pointer]*/
  173.     JStash = 0x8F8,                 /*[GLOBAL VAR] Jump vector for Stash function
  174.    stash a byte routine for drivers [pointer]*/
  175.     JIODone = 0x8FC                 /*[GLOBAL VAR] Jump vector for IODone function
  176.    IODone entry location [pointer]*/
  177. };
  178. enum {
  179.     DrvQHdr = 0x308,                /*[GLOBAL VAR] Drive queue header (10 bytes)
  180.    queue header of drives in system [10 bytes]*/
  181.     BootDrive = 0x210,              /*[GLOBAL VAR]  drive number of boot drive [word]*/
  182.     EjectNotify = 0x338,            /*[GLOBAL VAR]  eject notify procedure [pointer]*/
  183.     IAZNotify = 0x33C,              /*[GLOBAL VAR]  world swaps notify procedure [pointer]*/
  184.     SFSaveDisk = 0x214,             /*[GLOBAL VAR] Negative of volume reference number used by Standard File Package (word)
  185.    last vRefNum seen by standard file [word]*/
  186.     CurDirStore = 0x398,            /*[GLOBAL VAR]  save dir across calls to Standard File [long]*/
  187.     OneOne = 0xA02,                 /*[GLOBAL VAR] $00010001
  188.    constant $00010001 [long]*/
  189.     MinusOne = 0xA06,               /*[GLOBAL VAR] $FFFFFFFF
  190.    constant $FFFFFFFF [long]*/
  191.     Lo3Bytes = 0x31A,               /*[GLOBAL VAR] $00FFFFFF
  192.    constant $00FFFFFF [long]*/
  193.     ROMBase = 0x2AE,                /*[GLOBAL VAR] Base address of ROM
  194.    ROM base address [pointer]*/
  195.     RAMBase = 0x2B2,                /*[GLOBAL VAR] Trap dispatch table's base address for routines in RAM
  196.    RAM base address [pointer]*/
  197.     SysVersion = 0x15A,             /*[GLOBAL VAR]  version # of RAM-based system [word]*/
  198.     RndSeed = 0x156,                /*[GLOBAL VAR] Random number seed (long)
  199.    random seed/number [long]*/
  200.     Scratch20 = 0x1E4,              /*[GLOBAL VAR] 20-byte scratch area
  201.    scratch [20 bytes]*/
  202.     Scratch8 = 0x9FA,               /*[GLOBAL VAR] 8-byte scratch area
  203.    scratch [8 bytes]*/
  204.     ScrapSize = 0x960,              /*[GLOBAL VAR] Size in bytes of desk scrap (long)
  205.    scrap length [long]*/
  206.     ScrapHandle = 0x964,            /*[GLOBAL VAR] Handle to desk scrap in memory
  207.    memory scrap [handle]*/
  208.     ScrapCount = 0x968,             /*[GLOBAL VAR] Count changed by ZeroScrap (word)
  209.    validation byte [word]*/
  210.     ScrapState = 0x96A,             /*[GLOBAL VAR] Tells where desk scrap is (word)
  211.    scrap state [word]*/
  212.     ScrapName = 0x96C               /*[GLOBAL VAR] Pointer to scrap file name (preceded by length byte)
  213.    pointer to scrap name [pointer]*/
  214. };
  215. enum {
  216.     IntlSpec = 0xBA0,               /*[GLOBAL VAR]  (long) - ptr to extra Intl data */
  217.     SwitcherTPtr = 0x286,           /*[GLOBAL VAR]  Switcher's switch table */
  218.     CPUFlag = 0x12F,                /*[GLOBAL VAR]  $00=68000, $01=68010, $02=68020 (old ROM inits to $00)*/
  219.     VIA = 0x1D4,                    /*[GLOBAL VAR] VIA base address
  220.    VIA base address [pointer]*/
  221.     IWM = 0x1E0,                    /*[GLOBAL VAR]  IWM base address [pointer]*/
  222.     Lvl1DT = 0x192,                 /*[GLOBAL VAR] Level-1 secondary interrupt vector table (32 bytes)
  223.    Interrupt level 1 dispatch table [32 bytes]*/
  224.     Lvl2DT = 0x1B2,                 /*[GLOBAL VAR] Level-2 secondary interrupt vector table (32 bytes)
  225.    Interrupt level 2 dispatch table [32 bytes]*/
  226.     ExtStsDT = 0x2BE,               /*[GLOBAL VAR] External/status interrupt vector table (16 bytes)
  227.    SCC ext/sts secondary dispatch table [16 bytes]*/
  228.     SPValid = 0x1F8,                /*[GLOBAL VAR] Validity status (byte)
  229.    validation field ($A7) [byte]*/
  230.     SPATalkA = 0x1F9,               /*[GLOBAL VAR] AppleTalk node ID hint for modem port (byte)
  231.    AppleTalk node number hint for port A*/
  232.     SPATalkB = 0x1FA,               /*[GLOBAL VAR] AppleTalk node ID hint for printer port (byte)
  233.    AppleTalk node number hint for port B*/
  234.     SPAlarm = 0x200,                /*[GLOBAL VAR] Alarm setting (long)
  235.    alarm time [long]*/
  236.     SPFont = 0x204,                 /*[GLOBAL VAR] Application font number minus 1 (word)
  237.    default application font number minus 1 [word]*/
  238.     SPKbd = 0x206,                  /*[GLOBAL VAR] Auto-key threshold and rate (byte)
  239.    kbd repeat thresh in 4/60ths [2 4-bit]*/
  240.     SPPrint = 0x207,                /*[GLOBAL VAR] Printer connection (byte)
  241.    print stuff [byte]*/
  242.     SPVolCtl = 0x208,               /*[GLOBAL VAR] Speaker volume setting in parameter RAM (byte)
  243.    volume control [byte]*/
  244.     SPClikCaret = 0x209,            /*[GLOBAL VAR] Double-click and caret-blink times (byte)
  245.    double click/caret time in 4/60ths[2 4-bit]*/
  246.     SPMisc1 = 0x20A,                /*[GLOBAL VAR]  miscellaneous [1 byte]*/
  247.     SPMisc2 = 0x20B,                /*[GLOBAL VAR] Mouse scaling, system startup disk, menu blink (byte)
  248.    miscellaneous [1 byte]*/
  249.     GetParam = 0x1E4                /*[GLOBAL VAR]  system parameter scratch [20 bytes]*/
  250. };
  251. enum {
  252.     SysParam = 0x1F8,               /*[GLOBAL VAR] Low-memory copy of parameter RAM (20 bytes)
  253.    system parameter memory [20 bytes]*/
  254.     CrsrThresh = 0x8EC,             /*[GLOBAL VAR] Mouse-scaling threshold (word) 
  255.    delta threshold for mouse scaling [word]*/
  256.     JCrsrTask = 0x8EE,              /*[GLOBAL VAR]  address of CrsrVBLTask [long]*/
  257.     MTemp = 0x828,                  /*[GLOBAL VAR]  Low-level interrupt mouse location [long]*/
  258.     RawMouse = 0x82C,               /*[GLOBAL VAR]  un-jerked mouse coordinates [long]*/
  259.     CrsrRect = 0x83C,               /*[GLOBAL VAR]  Cursor hit rectangle [8 bytes]*/
  260.     TheCrsr = 0x844,                /*[GLOBAL VAR]  Cursor data, mask & hotspot [68 bytes]*/
  261.     CrsrAddr = 0x888,               /*[GLOBAL VAR]  Address of data under cursor [long]*/
  262.     CrsrSave = 0x88C,               /*[GLOBAL VAR]  data under the cursor [64 bytes]*/
  263.     CrsrVis = 0x8CC,                /*[GLOBAL VAR]  Cursor visible? [byte]*/
  264.     CrsrBusy = 0x8CD,               /*[GLOBAL VAR]  Cursor locked out? [byte]*/
  265.     CrsrNew = 0x8CE,                /*[GLOBAL VAR]  Cursor changed? [byte]*/
  266.     CrsrState = 0x8D0,              /*[GLOBAL VAR]  Cursor nesting level [word]*/
  267.     CrsrObscure = 0x8D2,            /*[GLOBAL VAR]  Cursor obscure semaphore [byte]*/
  268.     KbdVars = 0x216,                /*[GLOBAL VAR]  Keyboard manager variables [4 bytes]*/
  269.     KbdType = 0x21E,                /*[GLOBAL VAR]  keyboard model number [byte]*/
  270.     MBState = 0x172,                /*[GLOBAL VAR]  current mouse button state [byte]*/
  271.     KeyMapLM = 0x174,               /*[GLOBAL VAR] KeyMap has name conflict w/ type. Bitmap of the keyboard [4 longs]*/
  272.     KeypadMap = 0x17C,              /*[GLOBAL VAR]  bitmap for numeric pad-18bits [long]*/
  273.     Key1Trans = 0x29E               /*[GLOBAL VAR]  keyboard translator procedure [pointer]*/
  274. };
  275. enum {
  276.     Key2Trans = 0x2A2,              /*[GLOBAL VAR]  numeric keypad translator procedure [pointer]*/
  277.     JGNEFilter = 0x29A,             /*[GLOBAL VAR]  GetNextEvent filter proc [pointer]*/
  278.     KeyMVars = 0xB04,               /*[GLOBAL VAR]  (word) for ROM KEYM proc state*/
  279.     Mouse = 0x830,                  /*[GLOBAL VAR]  processed mouse coordinate [long]*/
  280.     CrsrPin = 0x834,                /*[GLOBAL VAR]  cursor pinning rectangle [8 bytes]*/
  281.     CrsrCouple = 0x8CF,             /*[GLOBAL VAR]  cursor coupled to mouse? [byte]*/
  282.     CrsrScale = 0x8D3,              /*[GLOBAL VAR]  cursor scaled? [byte]*/
  283.     MouseMask = 0x8D6,              /*[GLOBAL VAR]  V-H mask for ANDing with mouse [long]*/
  284.     MouseOffset = 0x8DA,            /*[GLOBAL VAR]  V-H offset for adding after ANDing [long]*/
  285.     AlarmState = 0x21F,             /*[GLOBAL VAR]  Bit7=parity, Bit6=beeped, Bit0=enable [byte]*/
  286.     VBLQueue = 0x160,               /*[GLOBAL VAR] Vertical retrace queue header (10 bytes)
  287.    VBL queue header [10 bytes]*/
  288.     SysEvtMask = 0x144,             /*[GLOBAL VAR] System event mask (word)
  289.    system event mask [word]*/
  290.     SysEvtBuf = 0x146,              /*[GLOBAL VAR]  system event queue element buffer [pointer]*/
  291.     EventQueue = 0x14A,             /*[GLOBAL VAR] Event queue header (10 bytes)
  292.    event queue header [10 bytes]*/
  293.     EvtBufCnt = 0x154,              /*[GLOBAL VAR]  max number of events in SysEvtBuf - 1 [word]*/
  294.     GZRootHnd = 0x328,              /*[GLOBAL VAR] Handle to relocatable block not to be moved by grow zone function
  295.    root handle for GrowZone [handle]*/
  296.     GZRootPtr = 0x32C,              /*[GLOBAL VAR]  root pointer for GrowZone [pointer]*/
  297.     GZMoveHnd = 0x330,              /*[GLOBAL VAR]  moving handle for GrowZone [handle]*/
  298.     MemTop = 0x108,                 /*[GLOBAL VAR] Address of end of RAM (on Macintosh XL, end of RAM available to applications)
  299.    top of memory [pointer]*/
  300.     MmInOK = 0x12E                  /*[GLOBAL VAR]  initial memory mgr checks ok? [byte]*/
  301. };
  302. enum {
  303.     HpChk = 0x316,                  /*[GLOBAL VAR]  heap check RAM code [pointer]*/
  304.     MaskBC = 0x31A,                 /*[GLOBAL VAR]  Memory Manager Byte Count Mask [long]*/
  305.     MaskHandle = 0x31A,             /*[GLOBAL VAR]  Memory Manager Handle Mask [long]*/
  306.     MaskPtr = 0x31A,                /*[GLOBAL VAR]  Memory Manager Pointer Mask [long]*/
  307.     MinStack = 0x31E,               /*[GLOBAL VAR] Minimum space allotment for stack (long)
  308.    min stack size used in InitApplZone [long]*/
  309.     DefltStack = 0x322,             /*[GLOBAL VAR] Default space allotment for stack (long) 
  310.    default size of stack [long]*/
  311.     MMDefFlags = 0x326,             /*[GLOBAL VAR]  default zone flags [word]*/
  312.     DSAlertTab = 0x2BA,             /*[GLOBAL VAR] Pointer to system error alert table in use
  313.    system error alerts [pointer]*/
  314.     DSAlertRect = 0x3F8,            /*[GLOBAL VAR] Rectangle enclosing system error alert (8 bytes)
  315.    rectangle for disk-switch alert [8 bytes]*/
  316.     DSDrawProc = 0x334,             /*[GLOBAL VAR]  alternate syserror draw procedure [pointer]*/
  317.     DSWndUpdate = 0x15D,            /*[GLOBAL VAR]  GNE not to paintBehind DS AlertRect? [byte]*/
  318.     WWExist = 0x8F2,                /*[GLOBAL VAR]  window manager initialized? [byte]*/
  319.     QDExist = 0x8F3,                /*[GLOBAL VAR]  quickdraw is initialized [byte]*/
  320.     ResumeProc = 0xA8C,             /*[GLOBAL VAR] Address of resume procedure
  321.    Resume procedure from InitDialogs [pointer]*/
  322.     DSErrCode = 0xAF0,              /*[GLOBAL VAR] Current system error ID (word)
  323.    last system error alert ID*/
  324.     IntFlag = 0x15F,                /*[GLOBAL VAR]  reduce interrupt disable time when bit 7 = 0*/
  325.     SerialVars = 0x2D0,             /*[GLOBAL VAR]  async driver variables [16 bytes]*/
  326.     ABusVars = 0x2D8,               /*[GLOBAL VAR] Pointer to AppleTalk variables
  327.   ;Pointer to AppleTalk local variables*/
  328.     ABusDCE = 0x2DC,                /*[GLOBAL VAR] ;Pointer to AppleTalk DCE*/
  329.     PortAUse = 0x290                /*[GLOBAL VAR]  bit 7: 1 = not in use, 0 = in use*/
  330. };
  331. enum {
  332.     PortBUse = 0x291,               /*[GLOBAL VAR] Current availability of serial port B (byte)
  333.    port B use, same format as PortAUse*/
  334.     SCCASts = 0x2CE,                /*[GLOBAL VAR]  SCC read reg 0 last ext/sts rupt - A [byte]*/
  335.     SCCBSts = 0x2CF,                /*[GLOBAL VAR]  SCC read reg 0 last ext/sts rupt - B [byte]*/
  336.     DskErr = 0x142,                 /*[GLOBAL VAR]  disk routine result code [word]*/
  337.     PWMBuf2 = 0x312,                /*[GLOBAL VAR]  PWM buffer 1 (or 2 if sound) [pointer]*/
  338.     SoundPtr = 0x262,               /*[GLOBAL VAR] Pointer to four-tone record
  339.    4VE sound definition table [pointer]*/
  340.     SoundBase = 0x266,              /*[GLOBAL VAR] Pointer to free-form synthesizer buffer
  341.    sound bitMap [pointer]*/
  342.     SoundVBL = 0x26A,               /*[GLOBAL VAR]  vertical retrace control element [16 bytes]*/
  343.     SoundDCE = 0x27A,               /*[GLOBAL VAR]  sound driver DCE [pointer]*/
  344.     SoundActive = 0x27E,            /*[GLOBAL VAR]  sound is active? [byte]*/
  345.     SoundLevel = 0x27F,             /*[GLOBAL VAR] Amplitude in 740-byte buffer (byte)
  346.    current level in buffer [byte]*/
  347.     CurPitch = 0x280,               /*[GLOBAL VAR] Value of count in square-wave synthesizer buffer (word)
  348.    current pitch value [word]*/
  349.     DskVerify = 0x12C,              /*[GLOBAL VAR]  used by 3.5 disk driver for read/verify [byte]*/
  350.     TagData = 0x2FA,                /*[GLOBAL VAR]  sector tag info for disk drivers [14 bytes]*/
  351.     BufTgFNum = 0x2FC,              /*[GLOBAL VAR] File tags buffer:  file number (long)
  352.    file number [long]*/
  353.     BufTgFFlg = 0x300,              /*[GLOBAL VAR] File tags buffer:  flags (word:  bit 1=1 if resource fork) 
  354.    flags [word]*/
  355.     BufTgFBkNum = 0x302,            /*[GLOBAL VAR] File tags buffer:  logical block number (word)
  356.    logical block number [word]*/
  357.     BufTgDate = 0x304,              /*[GLOBAL VAR] File tags buffer:  date and time of last modification (long)
  358.    time stamp [word]*/
  359.     ScrDmpEnb = 0x2F8,              /*[GLOBAL VAR] 0 if GetNextEvent shouldn't process Command-Shift-number combinations (byte)
  360.    screen dump enabled? [byte]*/
  361.     ScrDmpType = 0x2F9              /*[GLOBAL VAR]  FF dumps screen, FE dumps front window [byte]*/
  362. };
  363. enum {
  364.     ScrapVars = 0x960,              /*[GLOBAL VAR]  scrap manager variables [32 bytes]*/
  365.     ScrapInfo = 0x960,              /*[GLOBAL VAR]  scrap length [long]*/
  366.     ScrapEnd = 0x980,               /*[GLOBAL VAR]  end of scrap vars*/
  367.     ScrapTag = 0x970,               /*[GLOBAL VAR]  scrap file name [STRING[15]]*/
  368.     LaunchFlag = 0x902,             /*[GLOBAL VAR]  from launch or chain [byte]*/
  369.     SaveSegHandle = 0x930,          /*[GLOBAL VAR]  seg 0 handle [handle]*/
  370.     CurJTOffset = 0x934,            /*[GLOBAL VAR] Offset to jump table from location pointed to by A5 (word)
  371.    current jump table offset [word]*/
  372.     CurPageOption = 0x936,          /*[GLOBAL VAR] Sound/screen buffer configuration passed to Chain or Launch (word)
  373.    current page 2 configuration [word]*/
  374.     LoaderPBlock = 0x93A,           /*[GLOBAL VAR]  param block for ExitToShell [10 bytes]*/
  375.     CurApRefNum = 0x900,            /*[GLOBAL VAR] Reference number of current application's resource file (word)
  376.    refNum of application's resFile [word]*/
  377.     CurrentA5 = 0x904,              /*[GLOBAL VAR] Address of boundary between application globals and application parameters
  378.    current value of A5 [pointer]*/
  379.     CurStackBase = 0x908,           /*[GLOBAL VAR] Address of base of stack; start of application globals
  380.    current stack base [pointer]*/
  381.     CurApName = 0x910,              /*[GLOBAL VAR] Name of current application (length byte followed by up to 31 characters)
  382.    name of application [STRING[31]]*/
  383.     LoadTrap = 0x12D,               /*[GLOBAL VAR]  trap before launch? [byte]*/
  384.     SegHiEnable = 0xBB2,            /*[GLOBAL VAR]  (byte) 0 to disable MoveHHi in LoadSeg*/
  385.  
  386. /* Window Manager Globals */
  387.     WindowList = 0x9D6,             /*[GLOBAL VAR] Pointer to first window in window list; 0 if using events but not windows
  388.   Z-ordered linked list of windows [pointer]*/
  389.     PaintWhite = 0x9DC,             /*[GLOBAL VAR] Flag for whether to paint window white before update event (word)
  390.   erase newly drawn windows? [word]*/
  391.     WMgrPort = 0x9DE,               /*[GLOBAL VAR] Pointer to Window Manager port 
  392.   window manager's grafport [pointer]*/
  393.     GrayRgn = 0x9EE,                /*[GLOBAL VAR] Handle to region drawn as desktop
  394.   rounded gray desk region [handle]*/
  395.     CurActivate = 0xA64             /*[GLOBAL VAR] Pointer to window to receive activate event
  396.   window slated for activate event [pointer]*/
  397. };
  398. enum {
  399.     CurDeactive = 0xA68,            /*[GLOBAL VAR] Pointer to window to receive deactivate event
  400.   window slated for deactivate event [pointer]*/
  401.     DragHook = 0x9F6,               /*[GLOBAL VAR] Address of procedure to execute during TrackGoAway, DragWindow, GrowWindow, DragGrayRgn, TrackControl, and DragControl
  402.   user hook during dragging [pointer]*/
  403.     DeskPattern = 0xA3C,            /*[GLOBAL VAR] Pattern with which desktop is painted (8 bytes)
  404.   desk pattern [8 bytes]*/
  405.     DeskHook = 0xA6C,               /*[GLOBAL VAR] Address of procedure for painting desktop or responding to clicks on desktop
  406.   hook for painting the desk [pointer]*/
  407.     GhostWindow = 0xA84,            /*[GLOBAL VAR] Pointer to window never to be considered frontmost
  408.   window hidden from FrontWindow [pointer]*/
  409.  
  410. /* Text Edit Globals */
  411.     TEDoText = 0xA70,               /*[GLOBAL VAR] Address of TextEdit multi-purpose routine
  412.   textEdit doText proc hook [pointer]*/
  413.     TERecal = 0xA74,                /*[GLOBAL VAR] Address of routine to recalculate line starts for TextEdit
  414.   textEdit recalText proc hook [pointer]*/
  415.     TEScrpLength = 0xAB0,           /*[GLOBAL VAR] Size in bytes of TextEdit scrap (long)
  416.   textEdit Scrap Length [word]*/
  417.     TEScrpHandle = 0xAB4,           /*[GLOBAL VAR] Handle to TextEdit scrap
  418.   textEdit Scrap [handle]*/
  419.     TEWdBreak = 0xAF6,              /*[GLOBAL VAR] default word break routine [pointer]*/
  420.     WordRedraw = 0xBA5,             /*[GLOBAL VAR] (byte) - used by TextEdit RecalDraw*/
  421.     TESysJust = 0xBAC,              /*[GLOBAL VAR] (word) system justification (intl. textEdit)*/
  422.  
  423. /* Resource Manager Globals */
  424.     TopMapHndl = 0xA50,             /*[GLOBAL VAR] Handle to resource map of most recently opened resource file
  425.   topmost map in list [handle]*/
  426.     SysMapHndl = 0xA54,             /*[GLOBAL VAR] Handle to map of system resource file
  427.   system map [handle]*/
  428.     SysMap = 0xA58,                 /*[GLOBAL VAR] Reference number of system resource file (word)
  429.   reference number of system map [word]*/
  430.     CurMap = 0xA5A,                 /*[GLOBAL VAR] Reference number of current resource file (word) 
  431.   reference number of current map [word]*/
  432.     ResReadOnly = 0xA5C,            /*[GLOBAL VAR] Read only flag [word]*/
  433.     ResLoad = 0xA5E,                /*[GLOBAL VAR] Current SetResLoad state (word)
  434.   Auto-load feature [word]*/
  435.     ResErr = 0xA60,                 /*[GLOBAL VAR] Current value of ResError (word)
  436.   Resource error code [word]*/
  437.     ResErrProc = 0xAF2              /*[GLOBAL VAR] Address of resource error procedure
  438.   Resource error procedure [pointer]*/
  439. };
  440. enum {
  441.     SysResName = 0xAD8,             /*[GLOBAL VAR] Name of system resource file (length byte followed by up to 19 characters)
  442.   Name of system resource file [STRING[19]]*/
  443.     RomMapInsert = 0xB9E,           /*[GLOBAL VAR] (byte) determines if we should link in map*/
  444.     TmpResLoad = 0xB9F,             /*[GLOBAL VAR] second byte is temporary ResLoad value.*/
  445.  
  446. /* Menu Mgr globals */
  447.     MBarHeight = 0xBAA,             /*[GLOBAL VAR] height of the menu bar*/
  448.  
  449. /* CommToolbox Global */
  450.     CommToolboxGlobals = 0x0BB4     /*[GLOBAL VAR] pointer to CommToolbox globals */
  451. };
  452.  
  453.  
  454. #endif
  455.